﻿    using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime;
using System.Runtime.InteropServices;

namespace Adaptive.Foundation.CodeDom.Native
{
    [ComImport, Guid("55AB9450-F9C7-4305-94E8-BEF12065338D"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
    internal interface IVsMonitorSelection
    {
        void GetCurrentSelection(out IVsHierarchy ppHier, out int pitemid, [MarshalAs(UnmanagedType.Interface)] out object ppMIS, out ISelectionContainer ppSC);
        int AdviseSelectionEvents(IVsSelectionEvents psink);
        void UnadviseSelectionEvents(int dwCookie);
        void GetCurrentElementValue(int elementid, ref object pobjValue);
        void GetCmdUIContextCookie(ref Guid rguidCmdUI, out int pdwCmdUICookie);
        void IsCmdUIContextActive(int dwCmdUICookie, out bool pfActive);
        void SetCmdUIContext(int dwCmdUICookie, bool fActive);
    }
}
